//package com.inspur.edp.cef.generator.repository.adaptor.property;
//
//import com.inspur.edp.caf.generator.baseInfo.ParameterInfo;
//import com.inspur.edp.caf.generator.baseInfo.TypeInfo;
//import com.inspur.edp.caf.generator.method.ClassMethodGenerator;
//import com.inspur.edp.cef.api.RefObject;
//import com.inspur.edp.cef.rtgenerator.repositorygen.RepositoryGenUtil;
//import org.eclipse.jdt.core.dom.*;
//
//import java.util.ArrayList;
//
//public class InsertValuesPropGenerator extends ClassMethodGenerator {
//    private String insertValues;
//    private int maxCount;
//    private static String paramCountName="count";
//    private static String paramArgvalue="argvalue";
//
//    public InsertValuesPropGenerator(String insertValues, int maxCount)
//    {
//        this.insertValues = insertValues;
//        this.maxCount = maxCount;
//    }
//
//    @Override
//    protected Block buildMethodBody() {
//        Block block=ast.newBlock();
//        addSetCountValuesStatement(block);
//        addReturnStatement(block);
//        return block;
//    }
//
//    private void addReturnStatement(Block block) {
//        ReturnStatement returnStatement =ast.newReturnStatement();
//        StringLiteral stringLiteral=ast.newStringLiteral();
//        stringLiteral.setEscapedValue(insertValues);
//        returnStatement.setExpression(stringLiteral);
//        block.statements().add(returnStatement);
//    }
//
//    private void addSetCountValuesStatement(Block block) {
//        Assignment  assignment=ast.newAssignment();
//        setAssignmentLeft(assignment);
//        assignment.setOperator(Assignment.Operator.ASSIGN);
//        setAssignmentRight(assignment);
//        ExpressionStatement expressionStatement=ast.newExpressionStatement(assignment);
//        block.statements().add(expressionStatement);
//    }
//
//    private void setAssignmentLeft(Assignment assignment) {
//        QualifiedName qualifiedName=ast.newQualifiedName(ast.newSimpleName(paramCountName),ast.newSimpleName(paramArgvalue));
//        assignment.setLeftHandSide(qualifiedName);
//    }
//
//    private void setAssignmentRight(Assignment assignment) {
//        NumberLiteral numberLiteral=ast.newNumberLiteral();
//        numberLiteral.setToken(String.valueOf(maxCount));
//        assignment.setRightHandSide(numberLiteral);
//    }
//
//    @Override
//    protected String getMethodName() {
//        return "getInsertValues";
//    }
//
//    @Override
//    protected TypeInfo getReturnType() {
//        return new TypeInfo(String.class);
//    }
//
//    @Override
//    protected ArrayList<Modifier.ModifierKeyword> getAccessModifiers() {
//        return RepositoryGenUtil.createModifierKeywordArray(Modifier.ModifierKeyword.PROTECTED_KEYWORD);
//    }
//
//    @Override
//    protected ArrayList<ParameterInfo> getParameterCollection() {
//        ArrayList<ParameterInfo> list =new ArrayList<>();
//        ParameterInfo info = new ParameterInfo();
//        info.setParamName(paramCountName);
//        TypeInfo info1 =new TypeInfo(RefObject.class);
//        info1.setIsParameterizedType(true);
//        info.setParamType(new TypeInfo(String.class));
//        info.setParamType(info1);
//        list.add(info);
//        return list;
//    }
//
////    private String Test(RefObject<Integer> value)
////    {
////        value.argvalue=3;
////        return "aaa";
////    }
//
//    @Override
//    protected boolean getIsOverride() {
//        return true;
//    }
//}
